clk: bcm: Support rate change propagation on bcm2835 clocks
authorBoris Brezillon <boris.brezillon@free-electrons.com>
Thu, 1 Dec 2016 21:00:19 +0000 (22:00 +0100)
committerRaspbian kernel package updater <root@raspbian.org>
Thu, 15 Feb 2018 17:28:42 +0000 (17:28 +0000)
commitb0ca773088efe5d7f9c65eaecdfa480d22434a76
treec70f113ca8db184fb43d45b83e1dfc8fb3fb0625
parent3a09ac71e092253db31f680708d071ffa37e9fba
clk: bcm: Support rate change propagation on bcm2835 clocks

Some peripheral clocks, like the VEC (Video EnCoder) clock need to be set
to a precise rate (in our case 108MHz). With the current implementation,
where peripheral clocks are not allowed to forward rate change requests
to their parents, it is impossible to match this requirement unless the
bootloader has configured things correctly, or a specific rate has been
assigned through the DT (with the assigned-clk-rates property).

Add a new field to struct bcm2835_clock_data to specify which parent
clocks accept rate change propagation, and support set rate propagation
in bcm2835_clock_determine_rate().

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
(cherry picked from commit 155e8b3b0ee320ae866b97dd31eba8a1f080a772)
drivers/clk/bcm/clk-bcm2835.c